Incorporation of user-provided natural language translations in a social networking system

ABSTRACT

A social networking system determines whether a particular user is qualified to provide translations of text from a first language to a second language. The determination may include evaluation of the language competencies of the user, and also of the trustworthiness of the user as a translator, as determined based on prior translations submitted by the user. The social networking system also selects translations of a text item for a user to whom that text is to be shown. When evaluating a candidate translation for presentation to the user, the evaluation may assess factors such as the determined qualification as a translator of the user who provided the candidate translation; a quality score of the candidate translation itself; and/or the similarity of the user viewing the content and the user providing the candidate translation.

BACKGROUND

The present invention generally relates to the field of electronicsocial networking systems, and more particularly, to ways of obtainingand selecting appropriate natural language translations of text within asocial networking system.

Social networking systems, such as FACEBOOK®, may have large user basesrepresenting many countries and languages. In many cases, users may notbe able to understand the content in which they are interested. Forexample, an international celebrity may submit status updates or otherpostings on the social networking system, and many of the users who havesubscribed to the postings of the celebrity may not be able to read thepostings due to language barriers. Providing an “official” translationfor all such postings would constitute too large a burden for the socialnetworking system, and the celebrity will typically not providetranslations of the posting for alternate languages.

In such cases, the social networking system could allow other users toprovide translations of the postings, but there is a risk that the usersmight provide faulty translations, whether intentionally orunintentionally. For example, a user might intentionally provide amisleading and/or insulting translation for a statement of a celebrity(or other message poster) that the user dislikes, or the user mightsimply have a poor grasp of the language in question and thus provide alow-quality translation.

SUMMARY

In embodiments of the invention, a translation module of a socialnetworking system determines whether a particular user is qualified toprovide translations from a first language to a second language. Thedetermination may include evaluation of the language competencies of theuser as well as evaluation of the trustworthiness of the user as atranslator, as determined based on prior translations submitted by theuser. In one embodiment, trustworthiness is assessed based on the user'sprior translations according to factors such as how well the user'sprior translations match those produced by others users and by machinetranslations; the ratings given by other users to the user's priortranslations; and/or whether the user's prior translations containblacklisted words or phrases.

In one embodiment, a translation selection module of the socialnetworking system selects translations of a text item for presentationto a user. For example, the text item may have been submitted in a firstlanguage, but a user interested in that text item may speak a secondlanguage and not understand the first language. When evaluating acandidate translation for presentation to the user, the evaluation mayassess factors such as the determined qualification as a translator ofthe user who provided the candidate translation; a quality score of thecandidate translation itself; and/or the similarity of the user viewingthe content and the user providing the candidate translation.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a high-level block diagram of a computing environment,according to one embodiment.

FIG. 2 illustrates the interactions between the social networking systemof FIG. 1 and the various users involved in translating and viewingcontent, according to one embodiment.

FIGS. 3A and 3B are sample user interfaces respectively illustrating thesolicitation of a translation of text by a first user and presentationof the translated text to a second user, according to one embodiment.

The figures depict embodiments of the present invention for purposes ofillustration only. One skilled in the art will readily recognize fromthe following description that alternative embodiments of the structuresand methods illustrated herein may be employed without departing fromthe principles of the invention described herein.

DETAILED DESCRIPTION System Architecture

FIG. 1 is a high-level block diagram of a computing environmentaccording to one embodiment. FIG. 1 illustrates a social networkingsystem 100 and client devices 130 connected by a network 170. A user ofthe client device 130 interacts with the social networking system 100via an application such as a web browser or an application specificallyauthored to interface with the social networking system, performingoperations such as browsing content, posting messages, performingqueries for people or other content of interest, and the like.

The social networking system 100 comprises an object store 110 thatstores information on various objects tracked by the social networkingsystem 100. These objects may represent a variety of things with which auser may interact in the social networking system 100. For example, theobjects may include the user or other users 111 of the social networkingsystem, represented, e.g., as a profile object for the user. The profileincludes information about the user, whether expressly stated by theuser, or inferred by the social networking system 100 (e.g., based onthe user's actions on the social networking system). The objects mayalso include, without limitation, applications 112 (e.g., a gameplayable within the social networking system), events 113 (e.g., aconcert that users may attend), groups 114 to which users may belong(e.g., a group devoted to alternative energy research), pages 115 (e.g.,pages constituting a particular person or organization's presence on thesystem, such as pages about particular celebrities, car models, or TVshows), items of media content 116 (e.g., pictures, videos, audio, text,or any other type of media content), locations 117 associated with auser (e.g., “San Jose, California, USA”), and concepts 118 or otherterms (e.g., an object corresponding to the concept “alternativeenergy”). An object in the object store 110 may represent an entityexisting within the social networking system (e.g., an application 112available on the social networking system), a virtual entity that existsoutside the domain of the social networking system (e.g., a website), ora real-world entity (e.g., a person, a product, or a show). User objects111 may represent an individual human person, but also may representother entities, such as fictitious persons or concepts.

The object store 110 may store text items 119A, which are objects havingtextual portions. For example, the text items 119A include postingssubmitted by users 111, such as status update messages, inbox messages,comments, notes, postings, or the like. Other objects described abovemay also be considered text items 119A, such as pages 115 and mediaitems 116, assuming that they contain text. The object store 110additionally stores translations 119B corresponding to the text items119A, which are intended as equivalents of the text items in otherlanguages. For example, a particular text item 119A written in Englishmight have a corresponding translation 119B in Italian and in Chinese.In one embodiment, the object store 110 stores the correspondencebetween text items 119A and their translations 119B, identifiers of theusers 111 that submitted the text items and the translations, a languagein which the text items and translations are written (e.g., determinedautomatically by the social networking system 100 using natural languageanalysis); dates of the submission of the text items and translations;and the like.

The object store 110 may store all of the objects existing within thesocial networking system 100, such as the code of an application 112, orthe image data associated with an image media item 116. Alternatively,for virtual entities existing outside of the social networking system100, the object store 110 may contain some form of pointer or referenceto the entities, such as the uniform resource locator (URL) of anexternal media item 116. Additionally, the object store 110 may alsostore metadata associated with the objects, such as a name describingthe object (e.g. “L. James” for a person or page 115, or “Green EnergyGroup” for a group 114), an image representing the object (e.g., a userprofile picture), or one or more tags assigned to the object by users(e.g. the textual strings “game”, “crime”, and “strategy” for a strategygame application). Different types of objects may have different typesof metadata, such as a set of associated users 111 for a group 114, amedia type (e.g., “video”) for a media item object 116, and a uniqueuser ID and name tokens (e.g., separate first and last names “Al” and“Gore”) for a user object 111.

In one embodiment the social networking system 100 further comprises agraph information store 120 that represents the objects of the objectstore 110 as nodes that are linked together in a “social graph.” Thegraph information store 120 thus comprises information about therelationships between or among the objects, represented as the edgesconnecting the various object nodes. Various examples of edges in thesocial graph include: an edge between two user objects 111 representingthat the users have a relationship in the social networking system(e.g., are friends, or have communicated, viewed the other's profile,expressed a request to see (“follow”) the comments/actions of the otheruser is, or generally interacted in some way), an edge between a userobject 111 and an application object 112 representing that the user hasused the application, and an edge between a user object 111 and a groupobject 114 representing that the user belongs to the group, and an edgebetween a user object 111 and a page object 115 representing that theuser has viewed the page, expressly specified an affinity for the page(e.g., “Liked” the page), or requested to “follow” the page. A user 111is considered a direct connection of another user in the socialnetworking system 100 if there is an edge between the two users in thesocial graph, as opposed, for example, to there only being a series ofedges that indirectly connect the users.

For example, if one user 111 establishes a relationship with anotheruser in the social networking system, the two users are each representedas a node, and the edge between them represents the establishedrelationship; the two users are then said to be connected in the socialnetwork system. Continuing this example, one of these users may send amessage to the other user within the social networking system. This actof sending the message is another edge between those two nodes, whichcan be stored and/or tracked by the social networking system. Themessage itself may be treated as a node. In another example, one usermay tag another user in an image that is maintained by the socialnetworking system. This tagging action may create edges between theusers as well as an edge between each of the users and the image, whichis also a node. In yet another example, if a user confirms attending anevent, the user and the event are nodes, where the indication of whetheror not the user will attend the event is the edge. In a still furtherexample, if a first user follows a second user, the social networkingsystem 100 is notified of this fact, a unidirectional “following” edgemay be created between from the first user to the second user within thegraph information store 120. Using a social graph, therefore, a socialnetworking system may keep track of many different types of objects andedges (the interactions and connections among those objects), therebymaintaining an extremely rich store of socially relevant information.

In one embodiment, edges in the graph information store 120 haveassociated metadata, such as a label describing the type of relationship(e.g., “friend” or “following” as the label between two user objects),and/or a value quantifying the strength of the relationship. Further, arelationship degree, or “distance,” between any two objects can beascertained by determining the number of edges on the shortest pathbetween the objects. For example, two user objects that have an edgebetween them (e.g., denoting a friendship relationship) have arelationship degree (or “distance”) of one and are consideredfirst-order connections. Similarly, if a user object A is a first-orderconnection of user object B but not of user object C, and B is afirst-order connection of C, then objects A and C have a relationshipdegree of two, indicating that C is a second-order connection of A (andvice-versa).

The social networking system 100 further comprises a feed module 122that displays a list of relevant text items 119A or other objects fromthe social networking system (a “feed”) for a given user 111 to viewwithin the user interface for the user's account on the socialnetworking system. For example, the feed can include text items 119Asuch as status messages of other users 111 of the social networkingsystem 100 (e.g., the user's first-order connections), as well ascomments of other users thereto; recent events 113; recent actions of agiven application 112; and the like. In one embodiment, the feed module122 constructs a list of some number N of the most recent content itemsrelevant to the given user, places them within a webpage, and providesthe webpage to the client device 130 of the user.

The social network system 100 further comprises a translation module 125that handles details related to the translation of a text item from onenatural language into another. Specifically, the translation module 125comprises a translation qualification module 126 that determines whethera given user is qualified to translate a given text item from a givenfirst language to a given second language. The translation module 125further comprises a translation selection module 127 that selects, for agiven user and for a given text item, the translation of the text itemthat is most appropriate for that user.

The translation qualification module 126 determines whether a given user(U_(T)) is qualified to translate a given text item (C) from a givensource language (L₁) to a given target language (L₂). In variousembodiments, the translation qualification module 126 makes thedetermination based on one or more of the following factors:

Language competency: The translation qualification module 126 quantifiesa degree of competence that the user U_(T) would have when translatingfrom the source language L₁ to the target language L₂. To do so, thetranslation qualification module 126 identifies the languages in whichuser U_(T) is competent. In one embodiment, this determination is madebased on one or more of: languages expressly specified in the socialnetworking system profile of user U_(T); languages in which U_(T) haspreviously submitted content (e.g., made postings) on the socialnetworking system; the languages spoken by or used in communications byuser U_(T)'s connections on the social networking system; and/orlocations associated with user U_(T), such as U_(T)'s place of birth orcurrent residence. The greater the extent to which U_(T) is competent inboth the source language L₁ and the target language L₂, the greater thedegree of competence of U_(T) for the translation.

Trustworthiness: The translation qualification module 126 additionallydetermines whether user U_(T) may be trusted to provide accuratetranslations, based on any translations that U_(T) has previouslysubmitted for other text items. In one embodiment, trustworthiness isevaluated according to the following factors:

(A) Comparisons with machine translations: The translation qualificationmodule 126 performs an automated machine translation of the originaltext items into the same languages into which U_(T) translated them thencompares the machine translations with the translations provided byU_(T). The greater the degree of commonality between U_(T)'stranslations and the machine translations, the more trustworthy U_(T) isconsidered. In one embodiment, the degree of commonality between twotranslations is computed based on the percentage of words or groupingsof words (e.g., phrases or sentences) in common.

(B) Comparisons with translations of other users: In one embodiment, thetranslation qualification module 126 also compares prior translations byU_(T) of a text item into a language L₂ with translations of other usersfor that same text item into language L₂. The greater the degree ofcommonality between U_(T)'s translations and the translations of others,the more trustworthy U_(T) is considered.

(C) Translation ratings by other users: The translation qualificationmodule 126 takes into account any ratings of U_(T)'s translations thatother users have provided. The ratings may take different forms indifferent embodiments, such as binary “Good”/“Bad” or “Flagged as a badtranslation”/not flagged ratings, or a rating on a scale (e.g., 1-10).In one embodiment, only the ratings of users that the translationqualification module 126 determines are competent to rate translations(e.g., those that are competent in the language in question) areconsidered. Thus, the translation qualification module 126 identifiesthe ratings by other users of U_(T)'s prior translations, and the morepositive the ratings, the more trustworthy it considers U_(T) to be.

(D) Presence of blacklisted words: Some users may provide malicious“translations” of text items of a celebrity or other user that theydislike, e.g., abusively expressing their dislike of the celebrity,rather than providing a legitimate translation. Thus, the translationqualification module 126 determines a degree to which U_(T)'stranslations contain terms (i.e., words or phrases) from a list of termsknown to indicate that a translation is likely malicious or otherwiseflawed, such as profanity, abusive words, or the like. The greater thenumber or percentage of blacklisted terms within U_(T)'s priortranslations, the less trustworthy U_(T) is considered.

In one embodiment, the translation module 125 gives a user the option toprovide a translation of a text item only if the translationqualification module 126 determines that the user is competent. Forexample, if the user U_(T) is found to be competent to translate textitem C from source language L₁ into target language L₂, then (and onlythen) the translation module 125 provides some mechanism allowing orrequesting U_(T) to submit a translation for C, such as a “Translate”link displayed in association with the C. In another embodiment, thetranslation module 125 permits a user to provide a translation even whenthe translation qualification module 126 has not determined the user tobe competent to do so, and later uses the translation qualificationmodule 126 and/or translation selection module 127 to determine whetherto use that translation (e.g., whether to display that translation toanother user).

The translation selection module 127 selects, for a given user U_(V)viewing a given text item C, one or more translations of the text itemthat are most appropriate for user U_(V). In various embodiments, thetranslation qualification module 126 quantifies the value of the variouspossible candidate translations based on one or more of the followingfactors:

General translator competence: The translation selection module 127determines how competent the translator (U_(T)) of a candidatetranslation is using, e.g., one or more of the various techniques usedby the translation qualification module 126 when determining whether aparticular translator U_(T) is qualified. In one embodiment, translatorcompetence is determined based on the translation ratings by other usersof the prior translations of U_(T).

Quality of the candidate translation: The translation selection module127 determines how good the candidate translation appears to be bycomparing the translation to other translations of the same text item,such as those submitted by other users, or machine translations. In oneembodiment, candidate translations that appear particularly poor (e.g.,have little textual similarity to the other translations, such as belowsome threshold percentage of words in common) are eliminated fromconsideration, regardless of the outcome of other factors.

Similarity of viewing and translating users: In one embodiment, thetranslation selection module 127 customizes the translation provided tothe viewing user U_(V) by evaluating the similarities between U_(V) andthe user U_(T) that performed the translation. This potentially providesU_(V) with a better translation by selecting a translator U_(T) that issimilar to U_(V), and hence may be more likely to express himself in amanner most intuitive to U_(V). In one embodiment, the evaluatedsimilarities include similarities between the connections of U_(V) andU_(T) in the graph information store 120, such as whether U_(V) andU_(T) are first-order connections, and/or how many first-orderconnections U_(V) and U_(T) have in common. In one embodiment, theassessed similarities additionally and/or alternatively includedemographic similarities as indicated by their respective user profiles,such as whether U_(V) and U_(T) have the same primary language (and,optionally, dialect of that language), a similar age, a similar locationof birth or of residence, or the like. In one embodiment, thesimilarities are assessed based on a social graph affinity and affinitycoefficients; this may involve one or more systems, components,elements, functions, methods, operations, or steps disclosed in U.S.patent application Ser. No. 11/503,093, filed Aug. 11, 2006, U.S. patentapplication Ser. No. 12/977,027, filed Dec. 22, 2010, U.S. patentapplication Ser. No. 12/978,265, filed Dec. 23, 2010, and/or U.S. patentapplication Ser. No. 13/632,869, filed Oct. 1, 2012, each of which isincorporated by reference.

Process of Translation

FIG. 2 illustrates the interactions between the social networking system100 and several different users when translating and viewing contentusing their respective client devices 130, according to one embodiment.More specifically, a content submitter 202 (U_(C)) provides content tothe social networking system 100 in a first language; a contenttranslator 204 (U_(T)) translates the content into a second, differentlanguage; and a translation viewer 206 (U_(V)) views—and, optionally,rates—the translated content.

In a first step, the content submitter 202 provides 210 a text item in afirst language. The provided textual item may be, for example, all orpart of a post, a status update, a check-in, a comment, a tag, anarticle or other document, a link, or any other type of content(including predominantly non-textual content, such as audio content, oneor more images, or video content) including or associated with text. Afirst user viewing the text item (who in the example of FIG. 2 willsubsequently act as the content translator 204), later requests to view215 the text item provided by the content submitter 202 when it ispresented by the social networking system 100, either implicitly orexplicitly. For example, the text item may occur in a feed produced forthe first viewing user 204 by the feed module 122.

For example, FIG. 3A illustrates an example user interface 300 generatedby the feed module 122 of the social networking system 100 for theaccount of one of its users (“Cristoforo Re”), who speaks both Englishand Italian. The user interface 300 includes several posting text itemsprovided by different content submitters 202 with whom the user has aconnection on the social networking system 100. The first posting textitem 305, for example, is by a celebrity (L. James) whose actions theuser has elected to follow.

As shown in FIG. 2, in one embodiment, the social networking system 100determines 220, for each posting (or other text item), whether atranslation of the associated text is needed. In one embodiment, factorsrelevant to the determination include whether the text item will be ofinterest to a large percentage of users (e.g., whether the text wassubmitted by, or is associated with, someone with a very large number ofconnections on the social networking system 100, such as a celebrity),and/or whether the user associated with the text item has a significantpercentage of first-order connections on the social networking systemthat speak a different language than the language of the text item. Inother embodiments, a translation is considered always needed, and hencethe determination 220 is not made. In one embodiment, this determinationis made at the time that the text item is submitted to the socialnetworking system 100, and step 220 uses the result of this earlierdetermination.

In one embodiment, the social networking system 100 determines 222whether the first viewing user 204 is qualified to serve as a contenttranslator 204 (U_(T)) for another language, as discussed above withrespect to the translation qualification module 126. If so, the socialnetworking system 100 provides 225 the first viewing user 204 with theoption to provide a translation of the text item (as well as providingthe text item 210 itself), such as by supplementing a user interfacewith a link, button, or other user interface element for that purpose.In a different embodiment, the translation option is always provided 225(although the translation module 125 may not necessarily use theprovided translations).

For example, referring again to FIG. 3A, the posting text item 305includes an associated “Translate” link 307 that provides the option forthe user (“Cristoforo Re”) to translate the celebrity posting 305 fromEnglish into Italian. For example, the user “Cristoforo Re” may haveItalian listed in his user profile on the social network system as alanguage that he speaks, and/or he may have provided prior translationsfrom English into Italian that were determined to be trustworthy. In theexample of FIG. 3A, the other postings do not include associatedtranslation options because their associate content submitters 202 donot have a very large number of connections on the social networkingsystem 100, although in other embodiments a translation option may beprovided for any text item visible to a user.

As shown in FIG. 2, the user uses the translation option from step 225to provide 230 a translation of the text item. For example, selectingthe link 307 could display a text area in which the user types thetranslation. The social networking system 100 accordingly stores 235 thetranslation provided in step 230 in association with the original textitem provided in step 210. Referring to the example of FIG. 3A, assumethat the user (“Cristoforo Re”), acting as a content translator U_(T)204, provides the Italian translation “Ho preso i miei talenti di nuovoa Cleveland per unirmi con Zio Drew” for the original English text item“I've taken my talents back to Cleveland to join Uncle Drew.”

In one embodiment, the translation module 125 of the social networksystem notifies 237 the content submitter 202 of the translation, suchas by sending an email, a message within the social networking system100, or other form of notification, and listing the original text item210, the translation of the text item provided at step 230, andinformation about the content translator 204 (e.g., his or her name onthe social networking system), among other information. The contentsubmitter 202 then has the option to, for example, approve thetranslation, reject the translation, provide an alternate translation,specify that the text item should be routed for translation toparticular users of the social networking system specified by thecontent submitter 202 (e.g., via particular user names or otheridentifiers, or via specified properties such as primary language,location of residence, or the like), or specify that the text itemshould be routed to a professional translator to obtain a translation.In one embodiment, unless the content submitter 202 approves thetranslation, it is removed from future consideration as a translationfor the text item, such as by being removed from, or not being storedin, the translations 119B.

At a later point, a second viewing user 206 views 240 the text item thatwas provided at step 210 and translated at step 230. (For example, thetext item may appear in a feed produced for the second viewing user 206by the feed module 122.) The social networking system 100 identifies 245the best translation for the second viewing user 206, as described abovewith respect to the translation selection module 127, and automaticallyprovides 250 the best translation to the second viewing user.

In one embodiment, the translation module 125 provides attributioninformation corresponding to the content translator U_(T) 204 along withthe translation. In one embodiment, the content translator 204 canspecify how much attribution information is provided, and of what type.For example, the content translator 204 could specify that noattribution information is to be provided; or that only his or herusername is to be provided; or that his or her username is to beprovided along with a link to his or her profile on the socialnetworking system 100 (either the full profile, or a subset thereof thatis relevant to translation, such as languages spoken, place of residenceand of birth, age, and the like), for example.

In one embodiment, the social networking system 100 also provides anoption to rate the translation, and the second viewing user 206 may usethe option to provide 255 a rating for the translation. The translationqualification module 126 may then in future use the rating to assess thequalifications of the content translator U_(T) 204 to providetranslations.

For example, FIG. 3B illustrates a user interface 350 for a secondviewing user 206, Marcello Scotti, who speaks Italian but not English(e.g., has listed Italian as his primary language in his profile on thesocial networking system 100), and who is a first-order connection ofthe user who provided the Italian translation of the English text itemfrom FIG. 3A (namely, Cristoforo Re). Further, assume that MarcelloScotti (like Cristoforo Re) has elected to follow the celebrity L. Jameson the social networking system 100, and that the user interface 350 forMarcello Scotti should accordingly display the same recent text item 305displayed in FIG. 3A, but in the language most appropriate for MarcelloScotti. Accordingly, the translation selection module 127 determinesthat Italian is the language in which the translation of the text item305 is to be displayed and therefore determines whether Italiantranslations of the text item 305 are available.

In the example of FIG. 3B, the social networking system 100 has severalItalian translations of the text item 305 and the translation selectionmodule 127 selects the translation provided by Cristoforo Re (namely,“Ho preso i miei talenti di nuovo a Cleveland per unirmi con Zio Drew”)and displays it in the user interface 350 for Marcello Scotti as postingtext item 305. The translation selection module 127 may select thisparticular translation because, for example, Cristoforo Re is afirst-order connection of Marcello Scotti, resides in the same region ofItaly as Marcello Scotti, and has previously provided a number oftranslations from Italian to English that the social networking system100 has deemed trustworthy. The user interface 350 also includesattribution information 308 for the translation listing the name of thecontent translator U_(T) 204 (namely, the Italian phrase “Traduzionefornito da Cristoforo Re”, which specifies the name of the translator.)Although only one translation for posting text item 305 is shown in theexample of FIG. 3B, in some embodiments multiple translations may bedisplayed for a given text item, such as up to the top N (e.g., N=3)translations.

The example of FIG. 3B also depicts, next to an inquiry of whether thetranslation was good (“Buona traduzione?”), an option 309 to rate thetranslation—namely, thumbs-up/thumbs-down controls, respectivelyindicating whether the viewing user (Marcello Scotti) considers thetranslation to be of good quality. In other embodiments, the rating maybe expressed in different manners and/or with different user interfacecomponents, such as a sliding scale specifying numbers 0 (worst) to 10(best), or a flag indicating that the translation is flawed (such thatif the viewing user does not set the flag, the translation is assumed tobe good). In one embodiment, the original text is shown in associationwith the translation, or the option 309 includes the ability to show theoriginal, so that the viewing user may evaluate in more detail whetherthe translation is of good quality.

OTHER CONSIDERATIONS

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of theinvention in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the invention may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the invention may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the invention be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the invention is intended to be illustrative, but not limiting, ofthe scope of the invention, which is set forth in the following claims.

What is claimed is:
 1. A computer-implemented method comprising: storinga text item submitted on a social networking system by a publishing userof a plurality of users of the social networking system, the text itembeing in a first language; obtaining, from a plurality of translatingusers of the plurality of users of the social networking system, aplurality of translations of the text item into one or more secondlanguages; identifying, from among the plurality of translations, atranslation from the plurality of translations for display to a viewinguser, the identification comprising evaluating one or more similaritiesbetween the viewing user and the translating users from whom theplurality of translations were obtained; and providing the identifiedtranslation for display to the viewing user.
 2. The computer-implementedmethod of claim 1, wherein evaluating one or more similarities betweenthe viewing user and the translating users comprises evaluating one ormore similarities between connections of the viewing user and of thetranslating users on the social networking system.
 3. Thecomputer-implemented method of claim 1, wherein evaluating one or moresimilarities between the viewing user and the translating userscomprises evaluating demographic similarities between the viewing userand the translating users.
 4. The computer-implemented method of claim1, wherein identifying the translation for the viewing user furthercomprises eliminating from consideration one or more translations of theplurality of translations based on comparisons of the one or moretranslations to other translations of the plurality of translations. 5.The computer-implemented method of claim 1, wherein identifying thetranslation for the viewing user further comprises: comparing one ormore translations of the plurality of translations to automated machinetranslations of the text item into the one or more second languages; andeliminating from consideration one or more of the compared translationsbased on the comparisons.
 6. The computer-implemented method of claim 1,further comprising: displaying, in visual association with theidentified translation, attribution information identifying thetranslating user who submitted the identified translation.
 7. Anon-transitory computer-readable storage medium havingcomputer-executable instructions comprising: instructions for storing atext item submitted on a social networking system by a publishing userof a plurality of users of the social networking system, the text itembeing in a first language; instructions for obtaining, from a pluralityof translating users of the plurality of users of the social networkingsystem, a plurality of translations of the text item into one or moresecond languages; instructions for identifying, from among the pluralityof translations, a translation from the plurality of translations fordisplay to a viewing user, the identification comprising evaluating oneor more similarities between the viewing user and the translating usersfrom whom the plurality of translations were obtained; and instructionsfor providing the identified translation for display to the viewinguser.
 8. The non-transitory computer-readable storage medium of claim 7,wherein evaluating one or more similarities between the viewing user andthe translating users comprises evaluating one or more similaritiesbetween connections of the viewing user and of the translating users onthe social networking system.
 9. The non-transitory computer-readablestorage medium of claim 7, wherein evaluating one or more similaritiesbetween the viewing user and the translating users comprises evaluatingdemographic similarities between the viewing user and the translatingusers.
 10. The non-transitory computer-readable storage medium of claim7, wherein identifying the translation for the viewing user furthercomprises: comparing one or more translations of the plurality oftranslations to automated machine translations of the text item into theone or more second languages; and eliminating from consideration one ormore of the compared translations based on the comparison.
 11. Thenon-transitory computer-readable storage medium of claim 7, theinstructions further comprising: instructions for displaying, in visualassociation with the identified translation, attribution informationidentifying the translating user who submitted the identifiedtranslation.
 12. A computer-implemented method comprising: storing atext item submitted to a social networking system by a first user, thetext item being in a first language; comparing: prior translations fortext items from the first language to a second language, the priortranslations provided by a second user, and other translations of thetext items from the first language to the second language, the othertranslations provided by users other than the second user; determining,based on the comparison, whether the second user is qualified totranslate the text item to the second language; obtaining from thesecond user a translation of the text item into the second language; andstoring the translation of the second user in association with the textitem.
 13. The computer-implemented method of claim 12, furthercomprising: determining that a third user speaks the second language;and providing the obtained translation of the text item to the thirduser.
 14. The computer-implemented method of claim 12, furthercomprising computing automated machine translations of the text items,wherein determining whether the second user is qualified to translatethe text item to the second language comprises comparing the priortranslations provided by the second user for the text items with theautomated machine translations.
 15. The computer-implemented method ofclaim 12, further comprising receiving translations of the text itemsfrom other users, wherein determining whether the second user isqualified to translate the text item to the second language comprisescomparing the prior translations provided by the second user for thetext items with the translations by other users.
 16. Thecomputer-implemented method of claim 12, wherein determining whether thesecond user is qualified to translate the text item to the secondlanguage comprises: identifying ratings by other users of the priortranslations by the second user; and determining whether the identifiedratings are positive.
 17. The computer-implemented method of claim 12,wherein determining whether the second user is qualified to translatethe text item to the second language comprises determining a degree towhich the prior translations provided by the second user contain termson a term blacklist.
 18. The computer-implemented method of claim 12,further comprising providing to the first user a notification that thetranslation has been obtained.
 19. The computer-implemented method ofclaim 18, further comprising providing to the first user options toaccept or to reject the translation.
 20. A computer-implemented methodcomprising: storing a text item submitted on a social networking systemby a publishing user of a plurality of users of the social networkingsystem, the text item being in a first language; displaying, to each ofa plurality of translating users, a webpage including: the text item anda plurality of other text items, and a user interface element allowingthe second plurality of users to translate the text item; obtaining,from the plurality of translating users of the plurality of users of thesocial networking system, a plurality of translations of the text iteminto one or more second languages; identifying, from among the pluralityof translations, a translation from the plurality of translations fordisplay to a viewing user; determining a list of recent content itemsrelevant to the viewing user, the relevant content items including theidentified translation; placing the relevant content items within awebpage; and providing the webpage for display to the viewing user. 21.The computer-implemented method of claim 20, wherein the viewing userand the translating user who provided the identified translation areeach represented as a node in a social graph and wherein providing theidentified translation for display to the viewing user creates an edgebetween the nodes in the social graph.